﻿//描述
//Lily上课时使用字母数字图片教小朋友们学习英语单词，每次都需要把这些图片按照大小（ASCII码值从小到大）排列收好。
//请大家给Lily帮忙，通过代码解决。
//Lily使用的图片使用字符"A"到"Z"、"a"到"z"、"0"到"9"表示。
//
//输入描述：
//一行，一个字符串，字符串中的每个字符表示一张Lily使用的图片。
//
//输出描述：
//Lily的所有图片按照从小到大的顺序输出
//#include<stdio.h>
//#include<string.h>
//int main()
//{
//	char arr[1000];
//	gets(arr);
//	int i = 0, j = 0;
//	for (i = 0; i < strlen(arr) - 1; i++)
//	{
//		for (j = 0; j < strlen(arr) - 1 - i;j++)
//		{
//			if (arr[j] > arr[j + 1])
//			{
//				char t = arr[j];
//				arr[j] = arr[j + 1];
//				arr[j + 1] = t;
//			}
//		}
//	}
//	puts(arr);
//	return 0;
//}


//给你一个整数数组 nums ，请计算数组的 中心下标 。
//数组 中心下标 是数组的一个下标，其左侧所有元素相加的和等于右侧所有元素相加的和。
//如果中心下标位于数组最左端，那么左侧数之和视为 0 ，因为在下标的左侧不存在元素。
//这一点对于中心下标位于数组最右端同样适用。
//如果数组有多个中心下标，应该返回 最靠近左边 的那一个。如果数组不存在中心下标，返回 - 1 。

//#include<stdio.h>
//int pivotIndex(int* nums, int numsSize) {
//	int total = 0;
//	int i = 0;
//	int sum = 0;
//	for (i = 0; i < numsSize; i++)
//	{
//		total += nums[i];
//	}
//	for (i = 0; i < numsSize; i++)
//	{
//		if (2 * sum + nums[i] == total)
//		{
//			return i;
//		}
//		sum += nums[i];
//	}
//	return -1;
//}

//编写一个函数，计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内(0~127 ，包括 0 和 127)，
//换行表示结束符，不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次
//例如，对于字符串 abaca 而言，有 a、b、c 三种不同的字符，因此输出 3 。

//#include<stdio.h>
//#include<string.h>
//int main()
//{
//	int arr[127] = { 0 };
//	char str[500];
//	gets(str);
//	int i=0;
//	int sz = strlen(str);
//	int count = 0;
//	for (i = 0; i < sz; i++)
//	{
//		if (arr[str[i]] == 0)
//		{
//			count++;
//			arr[str[i]] = 1;
//		}
//	}
//	
//	printf("%d", count);
//	return 0;
//}


//给定一个大小为 n 的数组 nums ，返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n / 2 ⌋ 的元素。
//
//你可以假设数组是非空的，并且给定的数组总是存在多数元素。

//int majorityElement(int* nums, int numsSize) {
//	int i = 0, j = 0;
//	for (i = 0; i < numsSize-1; i++)
//	{
//		for (j = 0; j < numsSize - 1; j++)
//		{
//			if (nums[j] < nums[j + 1])
//			{
//				int t = nums[j];
//				nums[j] = nums[j + 1];
//				nums[j + 1] = t;
//			}
//		}
//	}
//	return nums[numsSize / 2];
//}

